package com.dao;
import com.beans.Usuario;
import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;

public class UsuarioDAO implements UsuarioImpDAO {
	
	public Usuario consultarUsuarioAcceso(String usuario,String clave) throws Exception{
		String sql = "select id_usuario,dsc_alias,dsc_nombre,dsc_apellido,dsc_direccion,dsc_telefono "+
        "from usuario where dsc_alias=? and dsc_clave=md5(?)";

		Usuario usuarioBean = null;
		ResultSet rs = null;
		try{
		Connection conexion = ConexionDAO.getConnection();
			PreparedStatement pstmt = conexion.prepareStatement(sql);
			pstmt.setString(1, usuario);
			pstmt.setString(2, clave);
			
			rs = pstmt.executeQuery();            
			while(rs.next()){
				usuarioBean=new Usuario();
			    usuarioBean.setId_usuario(rs.getInt(1));
			    usuarioBean.setDsc_alias(rs.getString(2));
			    usuarioBean.setDsc_nombre(rs.getString(3));
			    usuarioBean.setDsc_apellido(rs.getString(4));
			    usuarioBean.setDsc_direccion(rs.getString(5));
			    usuarioBean.setDsc_telefono(rs.getString(6));
			}                      
		}catch(Exception ex){
			ex.printStackTrace();        
		}finally{ if(rs != null) rs.close();} 
		
		return usuarioBean;
	}
	
	
	public Collection<Usuario> buscarPorNombre(String nombre) throws Exception{
        String query = "select id_usuario,dsc_nombre,dsc_apellido,dsc_direccion,dsc_telefono "+
        "from usuario where dsc_alias!='" + nombre + "'";
        Collection<Usuario> c = new ArrayList<Usuario>();
        
        try {
            Connection con = ConexionDAO.getConnection();
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while(rs.next()) {
                Usuario vo = new Usuario();               
                vo.setId_usuario(rs.getInt(1));
                vo.setDsc_nombre(rs.getString(2));
                vo.setDsc_apellido(rs.getString(3));
                vo.setDsc_direccion(rs.getString(4));
                vo.setDsc_telefono(rs.getString(5));
                c.add(vo);               
            }
            rs.close();
            stmt.close();
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return c;
    }


}
